CountrySelector API
CountrySelector is a button component for selecting a country.
Usage Example
Import component
import { CountrySelector } from 'react-international-phone';
Use by providing the selectedCountry and onSelect callback.
<CountrySelector
  selectedCountry="ua"
  onSelect={({ iso2 }) => setCountry(iso2)}
/>
Output:
Properties
| Prop | Type | Description | Default value | 
|---|---|---|---|
| selectedCountry | CountryIso2 | Selected country (iso2) | undefined | 
| disabled | boolean | Is CountrySelector disabled | undefined | 
| hideDropdown | boolean | Hide dropdown icon and make CountrySelector not clickable | undefined | 
| renderButtonWrapper | (props: { children: React.ReactNode; rootProps: React.ButtonHTMLAttributes<HTMLButtonElement>) => React.ReactNode | Render function for custom button wrapper. childrenandrootPropsshould be passed to button props.rootPropscontains a click handler and properties that are required for accessibility.rootPropsshould be spread like<button {...rootProps}> | undefined | 
Events
| Prop | Type | Description | 
|---|---|---|
| onSelect | (country: ParsedCountry) => void | Callback that calls on country select | 
Style properties (CountrySelectorStyleProps type)
| Prop | Type | Description | 
|---|---|---|
| style | CSSProperties | Custom styles for CountrySelector container | 
| className | string | Custom className for CountrySelector container | 
| buttonStyle | CSSProperties | Custom styles for CountrySelector button | 
| buttonClassName | string | Custom className for CountrySelector button | 
| buttonContentWrapperStyle | CSSProperties | Custom styles for CountrySelector button content wrapper | 
| buttonContentWrapperClassName | string | Custom className for CountrySelector button content wrapper | 
| flagStyle | dropdownStyleProps | Custom styles for CountrySelector flag | 
| flagClassName | string | Custom className for CountrySelector flag | 
| dropdownArrowStyle | dropdownStyleProps | Custom styles for CountrySelector dropdown arrow | 
| dropdownArrowClassName | string | Custom className for CountrySelector dropdown arrow | 
| dropdownStyleProps | CountrySelectorDropdownStyleProps | Style properties for CountrySelector dropdown | 
CSS variables
| Variable | Default value | 
|---|---|
| --react-international-phone-country-selector-background-color | --react-international-phone-background-color | 
| --react-international-phone-country-selector-background-color-hover | whitesmoke | 
| --react-international-phone-disabled-country-selector-background-color | --react-international-phone-disabled-background-color | 
| --react-international-phone-country-selector-border-color | 13px | 
| --react-international-phone-country-selector-arrow-size | 4px | 
| --react-international-phone-country-selector-arrow-color | #777 | 
| --react-international-phone-disabled-country-selector-arrow-color | #999 |